﻿using System;
using System.Collections.Generic;
using System.Text;
using DAL;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using BLL;

namespace BLL
{
    public class ParametroL
    {
        #region propiedades
        private string _PathPreviewBook;

        public string PathPreviewBook
        {
            get { return _PathPreviewBook; }
            set { _PathPreviewBook = value; }
        }

        private string _PathViewBook;

        public string PathViewBook
        {
            get { return _PathViewBook; }
            set { _PathViewBook = value; }
        }

        private string _PathPreviewMovie;

        public string PathPreviewMovie
        {
            get { return _PathPreviewMovie; }
            set { _PathPreviewMovie = value; }
        }

        private string _PathViewMovie;

        public string PathViewMovie
        {
            get { return _PathViewMovie; }
            set { _PathViewMovie = value; }
        }


        private string _PathPreviewMusic;

        public string PathPreviewMusic
        {
            get { return _PathPreviewMusic; }
            set { _PathPreviewMusic = value; }
        }

        private string _PathViewMusic;

        public string PathViewMusic
        {
            get { return _PathViewMusic; }
            set { _PathViewMusic = value; }
        }


        

        private string _mensaje;

        public string mensaje
        {
            get { return _mensaje; }
            set { _mensaje = value; }
        }

        private int _num_error;

        public int num_error
        {
            get { return _num_error; }
            set { _num_error = value; }
        }
        #endregion

        #region variables privadas
        SqlConnection conexion;
        string mensaje_error;
        int numero_error;
        string sql;
        DataSet ds;
        #endregion

        #region metodos
        ErrorL objerror = new ErrorL();

        public void insertaError()
        {

            objerror.mensaje = _mensaje;
            objerror.num_error = _num_error;
            objerror.URL = HttpContext.Current.Request.Url.AbsoluteUri;
            objerror.Fecha = DateTime.Now;
            objerror.guardar_Error();
        }



      


        public void carga_datos_Parametros()
        {
            conexion = cls_DAL.trae_conexion("Progra5", ref mensaje_error, ref numero_error);
            if (conexion == null)
            {
                //insertar en la table de errores
                insertaError();
                HttpContext.Current.Response.Redirect("frm_Error.aspx?error=" + numero_error.ToString() + "&men=" + mensaje_error);
            }
            else
            {
                sql = "usp_ParametrosConsultar";
                
                ds = cls_DAL.ejecuta_dataset(conexion, sql, true, ref mensaje_error, ref numero_error);
                if (numero_error != 0)
                {
                    //insertar en la table de errores
                    insertaError();
                    HttpContext.Current.Response.Redirect("frm_Error.aspx?error=" + numero_error.ToString() + "&men=" + mensaje_error);
                }
                else
                {
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        _PathPreviewBook = ds.Tables[0].Rows[0]["PathPreviewBook"].ToString();
                        _PathViewBook = ds.Tables[0].Rows[0]["PathViewBook"].ToString();
                        _PathPreviewMovie = ds.Tables[0].Rows[0]["PathPreviewMovie"].ToString();
                        _PathViewMovie = ds.Tables[0].Rows[0]["PathViewMovie"].ToString();
                        _PathPreviewMusic = ds.Tables[0].Rows[0]["PathPreviewMusic"].ToString();
                       _PathViewMusic = ds.Tables[0].Rows[0]["PathViewMusic"].ToString();
            
                     
                    }
                    else
                    {
                        _PathViewMusic = "Error";
                        _num_error = numero_error;
                        _mensaje = mensaje_error;
                    }
                }
            }
        }


        public bool modificar_Parametro()
        {
            conexion = cls_DAL.trae_conexion("Progra5", ref mensaje_error, ref numero_error);
            if (conexion == null)
            {
                //insertar en la table de errores
                insertaError();
                HttpContext.Current.Response.Redirect("frm_Error.aspx?error=" + numero_error.ToString() + "&men=" + mensaje_error);
                return false;
            }
            else
            {

                sql = "usp_ParametrosGuardar";

                ParamStruct[] parametros = new ParamStruct[6];
                cls_DAL.agregar_datos_estructura_parametros(ref parametros, 0, "@PathPreviewBook", SqlDbType.NVarChar, _PathPreviewBook);
                cls_DAL.agregar_datos_estructura_parametros(ref parametros, 1, "@PathViewBook", SqlDbType.NVarChar, _PathViewBook);
                cls_DAL.agregar_datos_estructura_parametros(ref parametros, 2, "@PathPreviewMovie", SqlDbType.NVarChar, _PathPreviewMovie);
                cls_DAL.agregar_datos_estructura_parametros(ref parametros, 3, "@PathViewMovie", SqlDbType.NVarChar, _PathViewMovie);
                cls_DAL.agregar_datos_estructura_parametros(ref parametros, 4, "@PathPreviewMusic", SqlDbType.NVarChar, _PathPreviewMusic);
                cls_DAL.agregar_datos_estructura_parametros(ref parametros, 5, "@PathViewMusic", SqlDbType.NVarChar, _PathViewMusic);
                
                cls_DAL.conectar(conexion, ref mensaje_error, ref numero_error);
                cls_DAL.ejecuta_sqlcommand(conexion, sql, true, parametros, ref mensaje_error, ref numero_error);
                if (numero_error != 0)
                {
                    //insertar en la table de errores
                    insertaError();
                    HttpContext.Current.Response.Redirect("frm_Error.aspx?error=" + numero_error.ToString() + "&men=" + mensaje_error);
                    cls_DAL.desconectar(conexion, ref mensaje_error, ref numero_error);
                    return false;
                }
                else
                {
                    cls_DAL.desconectar(conexion, ref mensaje_error, ref numero_error);
                    return true;
                }
            }
        }

     
    
        public DataSet carga_lista_PathViewMovies()
        {
            conexion = cls_DAL.trae_conexion("Progra5", ref mensaje_error, ref numero_error);
            if (conexion == null)
            {
                //insertar en la table de errores
                insertaError();
                HttpContext.Current.Response.Redirect("frm_Error.aspx?error=" + numero_error.ToString() + "&men=" + mensaje_error);
                return null;
            }
            else
            {
                sql = "usp_ParametrosConsultar";
                ds = cls_DAL.ejecuta_dataset(conexion, sql, true, ref mensaje_error, ref numero_error);
                if (numero_error != 0)
                {
                    //insertar en la table de errores
                    insertaError();
                    HttpContext.Current.Response.Redirect("frm_Error.aspx?error=" + numero_error.ToString() + "&men=" + mensaje_error);
                    return null;
                }
                else
                {
                    return ds;
                }
            }

        }



        #endregion
    }
}
